/**
 * 封装一个函数，传递一个对象和key。返回结果
 */
interface IMsg {
    title: string,
    level: number,
    content: string
}

/**
 * 报错原因，TS无法检测key值是obj对应属性，
 * key当成一个string，结果是啥无法推测
 * @param obj 
 * @param key 
 * @returns 
 */
function getValueByKey(obj: IMsg, key: string) {
    // keyof IMsg = "title | level | content"
    return obj[key as keyof IMsg]
}

// getValueByKey({ title: "", level: 1, content: "" }, "name")

// function getValueByKey<T extends IMsg,K extends keyof T>(obj:T,key:K){
//     return obj[key]
// }





export { }

